package com.partybuilding.annotation;


import com.partybuilding.enums.DesensitizationEnum;

import java.lang.annotation.*;

/**
 * 用于标记敏感字段
 */
@Target(ElementType.FIELD) // 作用在字段上
@Retention(RetentionPolicy.RUNTIME)
public @interface PrivacyEncryptField {
    /**
     * 脱敏数据类型（没给默认值，所以使用时必须指定type）
     */
    DesensitizationEnum type();

    /**
     * 前置不需要打码的长度
     */
    int prefixNoMaskLen() default 1;

    /**
     * 后置不需要打码的长度
     */
    int suffixNoMaskLen() default 1;

    /**
     * 用什么打码
     */
    String symbol() default "*";
}
